Common Information Model (“CIM”) is a standard set forth by the Distributed Management Task Force (“DMTF”). CIM is an object oriented model to represent a wide variety of systems in a standard and neutral way, and is commonly referred to as the CIM schema. CIM is an open standard that defines how managed elements in an IT environment are represented as a common set of objects and relationships between them. CIM promotes consistent management of these managed elements, independent of their manufacturer or provider. That way a common component such as a server or a network router will be represented in a way that all management tools that use CIM will understand.
A related standard is Web-Based Enterprise Management (WBEM, also defined by DMTF) which defines a particular implementation of CIM, including protocols for discovering and accessing such CIM implementations. To create a standard way to access CIM, a working group of the DMTF developed a technique where CIM data can be accessed using the HTTP protocol used by the World Wide Web. Another standard used represents the CIM data in XML format. This gives us a common model for system management, a standard way to represent that model, and a standard way to access the model.
A CIM object manager (“CIMOM”) is essentially a server for servicing CIM requests. A CIM provider provides data representing a single entity. In the case of hardware, there will theoretically be an instance of a CIM object representing each component, including, for example, each processor, video card, etc. Each of these sources has its own interface, some of which are very complex. There could be a representation of each component in only one, many, or all of the available data sources.
CIM providers typically do not implement auditing and authorization/access control frameworks for CIM operations. In addition, currently there are no viable means to easily take snapshots of the current status of CIM objects. Building such a framework around each of the CIM providers is time consuming and not feasible with existing approaches in the industry. Moreover, even for static data, there are no caching or proxy capabilities in CIM in the industry today. Still further, the ability to lock and synchronize CIM classes for purposes of doing atomic operations are not available in the industry.
Thus, improved techniques are needed for extending and controlling access to a CIM.